home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / PowerPlant / 3D Additions 1.7 / 3D Additions / LStdCDEFControl.h < prev   
Encoding:
C/C++ Source or Header  |  1995-10-24  |  3.2 KB  |  134 lines  |  [TEXT/CWIE]

  1. /*
  2.     Public domain by Zig Zichterman
  3. */
  4. /*
  5.     LStdCDEFControl
  6.     
  7.     A collection of classes that derive from LStdControl but
  8.     use a CDEF other than 0. Useful mainly as CDEF-capable
  9.     replacements for
  10.         LStdButton
  11.         LStdCheckBox
  12.         LStdRadioButton
  13.         
  14.     Also, because my 3D CDEF implements icon buttons, you may
  15.     want to replace
  16.         LCicnButton
  17.  
  18.     10/24/95 jfr    added self-registration with URegistrar        
  19.     12/07/94    zz    initial write
  20. */
  21. #pragma once
  22.  
  23. #include <LStdControl.h>
  24.  
  25. const ResIDT indentHighlighted = 0x04;
  26.  
  27. class LStdCDEFButton : public LStdControl {
  28. public:
  29.     enum {    class_ID = '3Dpb' };
  30.  
  31.     static void            RegisterSelf();
  32.     static LStdCDEFButton*    CreateFromStream(LStream *inStream);
  33.     
  34.             LStdCDEFButton();
  35.         
  36.             LStdCDEFButton(const LStdCDEFButton    &inOriginal);
  37.             
  38.             LStdCDEFButton(const SPaneInfo    &inPaneInfo,
  39.                             MessageT        inValueMessage,
  40.                             ResIDT            inTextTraitsID,
  41.                             Str255            inTitle,
  42.                             ResIDT            inCDEFid);
  43.             
  44.             LStdCDEFButton(const SPaneInfo    &inPaneInfo,
  45.                             MessageT        inValueMessage,
  46.                             ResIDT            inTextTraitsID,
  47.                             ControlHandle    inMacControlH);
  48.             
  49.             LStdCDEFButton(LStream *inStream);
  50.  
  51. protected:
  52.     virtual void    HotSpotResult(Int16 inHotSpot);
  53. };
  54.  
  55. class LStdCDEFCheckBox : public LStdControl {
  56. public:
  57.     enum {    class_ID = '3Dcb' };
  58.     enum {    TristateValue    = 2,
  59.             CheckBoxMax        = TristateValue        };
  60.  
  61.     static    void                RegisterSelf();
  62.     static    LStdCDEFCheckBox*    CreateFromStream(LStream *inStream);
  63.             
  64.             LStdCDEFCheckBox(void);
  65.         
  66.             LStdCDEFCheckBox(const LStdCDEFCheckBox    &inOriginal);
  67.             
  68.             LStdCDEFCheckBox(const SPaneInfo    &inPaneInfo,
  69.                                 MessageT        inValueMessage,
  70.                                 Int32            inValue,
  71.                                 ResIDT            inTextTraitsID,
  72.                                 Str255            inTitle,
  73.                                 ResIDT            inCDEFid);
  74.             
  75.             LStdCDEFCheckBox(const SPaneInfo    &inPaneInfo,
  76.                                 MessageT        inValueMessage,
  77.                                 Int32            inValue,
  78.                                 ResIDT            inTextTraitsID,
  79.                                 ControlHandle    inMacControlH);
  80.             
  81.             LStdCDEFCheckBox(LStream *inStream);
  82.             
  83. protected:            
  84.         virtual void    HotSpotResult(Int16    inHotSpot);
  85. };
  86.  
  87. class LStdCDEFRadioButton : public LStdControl {
  88. public:
  89.     enum {    class_ID = '3Drb' };
  90.     enum {    TristateValue    = 2,
  91.             RadioMax        = TristateValue        };
  92.  
  93.     static void                RegisterSelf();
  94.     static LStdCDEFRadioButton*    CreateFromStream(LStream *inStream);
  95.     
  96.             LStdCDEFRadioButton(void);
  97.         
  98.             LStdCDEFRadioButton(const SPaneInfo    &inPaneInfo,
  99.                                 MessageT        inValueMessage,
  100.                                 Int32            inValue,
  101.                                 ResIDT            inTextTraitsID,
  102.                                 Str255            inTitle,
  103.                                 ResIDT            inCDEFid,
  104.                                 Boolean            indented = true);
  105.             
  106.             LStdCDEFRadioButton(const SPaneInfo    &inPaneInfo,
  107.                                 MessageT        inValueMessage,
  108.                                 Int32            inValue,
  109.                                 ResIDT            inTextTraitsID,
  110.                                 ControlHandle    inMacControlH);
  111.             
  112.             LStdCDEFRadioButton(const LStdCDEFRadioButton &inOriginal);
  113.             
  114.             LStdCDEFRadioButton(LStream *inStream);
  115.     
  116. protected:
  117.     virtual void    HotSpotResult(Int16    inHotSpot);
  118. };
  119.  
  120. class LStdCDEFIconButton : public LStdControl {
  121. public :
  122.     enum {    iconButProc    = 4    };
  123.         
  124.             LStdCDEFIconButton(const SPaneInfo    &inPaneInfo,
  125.                                 MessageT        inValueMessage,
  126.                                 ResIDT            inIconID,
  127.                                 ResIDT            inCDEFid);
  128.         
  129.     void    SetIconID(ResIDT inIconID) { SetValue(inIconID); }
  130.             
  131. protected:
  132.     virtual void    HotSpotResult(Int16    inHotSpot);
  133. };
  134.